package com.ruoyi.asset.workman.domain.vo;

import cn.hutool.core.date.DateTime;
import com.alibaba.excel.annotation.ExcelIgnoreUnannotated;
import com.alibaba.excel.annotation.ExcelProperty;
import com.alibaba.excel.annotation.format.DateTimeFormat;
import com.ruoyi.common.annotation.Translation;
import com.ruoyi.common.constant.TransConstant;
import com.ruoyi.common.core.domain.BaseEntity;
import com.ruoyi.common.tools.convert.ExcelOssDownloadConver;
import com.ruoyi.common.tools.excel.base.DataCheckResult;
import lombok.Data;
import lombok.EqualsAndHashCode;

import java.util.Date;

/**
 * 作业人员导入明细对象
 *
 * @author cc
 * @date 2023-08-29
 */
@Data
@ExcelIgnoreUnannotated
@EqualsAndHashCode(callSuper = true)
public class WorkmanVo extends BaseEntity {

    private static final long serialVersionUID=1L;

    /**
     * 主键
     */
    private Long id;
    /**
     * 编号
     */
    @ExcelProperty(value = "编号")
    private String code;
    /**
     * 姓名
     */
    @ExcelProperty(value = "*姓名（必填）")
    private String name;
    /**
     * 状态
     */
    @ExcelProperty(value = "*状态（必填）")
    private String status;
    /**
     * 性别
     */
    @ExcelProperty(value = "性别")
    private String sex;
    /**
     * 人员类别
     */
    @ExcelProperty(value = "*人员类别（必填）")
    private String category;
    /**
     * 类别名称
     */
    @ExcelProperty(value = "*类别名称（必填）")
    private String categoryName;
    /**
     * 联系方式
     */
    @ExcelProperty(value = "联系方式")
    private String contact;
    /**
     * 照片
     */
    @ExcelProperty(converter = ExcelOssDownloadConver.class, value = "照片")
    private String photo;

    @Translation(type = TransConstant.OSS_ID_TO_URL , mapper = "photo")
    private String photoUrl;
    /**
     * 资质
     */
    @ExcelProperty(value = "资质")
    private String qualification;
    /**
     * 区
     */
    @ExcelProperty(value = "*区（必填）")
    private String region;
    /**
     * 街道
     */
    @ExcelProperty(value = "*街道（必填）")
    private String street;
    /**
     * 社区
     */
    @ExcelProperty(value = "*社区（必填）")
    private String community;
    /**
     * 片区
     */
    @ExcelProperty(value = "片区")
    private String jurisdictions;
    /**
     * 地址
     */
    @ExcelProperty(value = "*地址（必填）")
    private String address;
    /**
     * 服务生效日期
     */
    @ExcelProperty(value = "*服务生效日期（必填）")
    @DateTimeFormat(value = "yyyy/MM/dd")
    private Date serviceBeginDate;
    /**
     * 服务截止日期
     */
    @ExcelProperty(value = "*服务截止日期（必填）")
    @DateTimeFormat(value = "yyyy/MM/dd")
    private Date serviceEndDate;
    /**
     *  服务类型
     */
    private String serviceType;
    /**
     * 备注
     */
    @ExcelProperty(value = "备注")
    private String remark;
    /**
     * 数据检查结果
     */
    private DataCheckResult dataCheckResult = new DataCheckResult();

}
